function x = encode(number)
%Als je dit wil proberen te begrijpen kun je beter de versie in C bekijken
%omdat die een stuk duidelijker is dan deze versie. De C versie staat in 
%/Mmips/hamming.cpp

%b3, b3^b2^b1, b2, !b2^b1^b0, b1, !b3^b1^b0, b0, !b3^b2^b0

bin = dec2bin(number,8);
A  = [bin(1)=='1', bin(2)=='1', bin(3)=='1', bin(4)=='1', bin(5)=='1', bin(6)=='1', bin(7)=='1', bin(8)=='1'];
% Matlab telt vanaf de andere kant dan ons C programma, dus draai de vector om.
A  = A(end:-1:1);

x1 = [A(4), xor(A(4),xor(A(3),A(2))), A(3), xor(~A(3),xor(A(2),A(1))), A(2), xor(~A(4),xor(A(2),A(1))), A(1), xor(~A(4),xor(A(3),A(1)))];
x2 = [A(8), xor(A(8),xor(A(7),A(6))), A(7), xor(~A(7),xor(A(6),A(5))), A(6), xor(~A(8),xor(A(6),A(5))), A(5), xor(~A(8),xor(A(7),A(5)))];

x = [x1;x2];

end
